Interactive input systems that allow users to inject input (e.g., digital ink, mouse events, etc.) into an application program using an active pointer (e.g., a pointer that emits light, sound or other signal), a passive pointer (e.g., a finger, cylinder or other object) or other suitable input device such as for example, a mouse or trackball, are well known. These interactive input systems include but are not limited to: touch systems comprising touch panels employing analog resistive or machine vision technology to register pointer input such as those disclosed in U.S. Pat. Nos. 5,448,263; 6,141,000; 6,337,681; 6,747,636; 6,803,906; 7,232,986; 7,236,162; 7,274,356; and 7,532,206 assigned to SMART Technologies ULC of Calgary, Alberta, Canada, assignee of the subject application, the disclosures of which are incorporated by reference in their entirety; touch systems comprising touch panels employing electromagnetic, capacitive, acoustic or other technologies to register pointer input; tablet and laptop personal computers (PCs); smartphones, personal digital assistants (PDAs) and other handheld devices; and other similar devices.
Above-incorporated U.S. Pat. No. 6,803,906 to Morrison et al. discloses a touch system that employs machine vision to detect pointer interaction with a touch surface on which a computer-generated image is presented. A rectangular bezel or frame surrounds the touch surface and supports digital imaging devices in the form of digital cameras at its corners. The digital cameras have overlapping fields of view that encompass and look generally across the touch surface. The digital cameras acquire images looking across the touch surface from different vantages and generate image data. Image data acquired by the digital cameras is processed by on-board digital signal processors to determine if a pointer exists in the captured image data. When it is determined that a pointer exists in the captured image data, the digital signal processors convey pointer characteristic data to a master controller, which in turn processes the pointer characteristic data to determine the location of the pointer in (x,y) coordinates relative to the touch surface using triangulation. The pointer coordinates are conveyed to a computer executing one or more application programs. The computer uses the pointer coordinates to update the computer-generated image that is presented on the touch surface. Pointer contacts on the touch surface can therefore be recorded as writing or drawing or used to control execution of application programs executed by the computer.
Above-incorporated U.S. Pat. No. 5,448,263 to Martin discloses a passive touch system including a touch screen coupled to a computer. The computer display is projected on to the touch surface of the touch screen via an imaging device such as a projector. The coordinates representing specific locations on the touch surface are mapped to the coordinate system of the computer display. When a user contacts the touch surface of the touch screen, coordinate data is generated by the touch screen and fed to the computer. The computer maps the received coordinate data to the computer display thereby allowing the user to operate the computer in a manner similar to using a computer mouse simply by contacting the touch surface. Furthermore, the coordinate data fed back to the computer can be recorded in an application and redisplayed at a later time. Recording the coordinate data generated in response to user contacts is typically done when it is desired to record information written or drawn on the touch surface by the user.
As the projector is separate from the touch surface of the touch screen, steps must be taken to calibrate the touch system thereby to align the projected image of the computer display with the coordinate system of the touch screen. During calibration, calibration marks are projected on to the touch surface and the user is prompted to contact the touch surface at the calibration mark locations resulting in coordinate data being generated. Since the coordinates of the calibration marks in the computer display coordinate system are known, the coordinate data generated by the touch screen in response to the user contacts at the calibration mark locations can be used to map the coordinate system of the touch screen to the computer display coordinate system. This calibration process corrects for projector/touch surface misalignment, and compensates for scale, skew, rotation and keystone distortion.
U.S. Pat. No. 7,372,456 to McLintock and assigned to SMART Technologies ULC, the disclosure of which is incorporated by reference in its entirety, discloses a method of calibrating an interactive touch system that includes moving or tracing a pointer along at least one path on a touch surface over a calibration image presented on the touch surface. Pointer coordinates are generated generally continuously during the tracing and represent pointer contact locations on the touch surface. The coordinate system of the touch surface is mapped to the coordinate system of the calibration image using the pointer coordinates and the calibration image.
As will be appreciated, after an interactive input system has been calibrated, events may occur that reduce the accuracy of the calibration. For example, in the case of machine vision interactive input systems such as that disclosed in above-incorporated U.S. Pat. No. 6,803,906 to Morrison et al., the positions and orientations of the digital cameras may shift over time, due to thermal changes, mechanical flexure and other environmental factors. These digital camera positional and orientation shifts may in turn introduce errors in the transformation of touch points from digital camera coordinates to display coordinates. Accordingly, improvements in interactive input system calibration are desired.
It is therefore an object to provide a novel method for generally continuously calibrating an interactive input system, and a novel an interactive input system employing the method.